/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package administrador;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Random;
import java.util.logging.Level;
import java.util.logging.Logger;
import jxl.*;
import java.io.*;

//Indicaciones
import javax.swing.JOptionPane;
import jxl.read.biff.BiffException;
//Se debe configurar el origan ODBC a la hoja de excel llamada: excelDB
//Deberan ser 2 hojas: hoja1
// codigo	precioCost


public class TExcelUpCosto extends javax.swing.JFrame{
Conexion c=new Conexion();
int contador=2;

  public TExcelUpCosto()  {
    //Establesco la Conexion:
   //System.out.println("Me conecto a la baseMYSQL"); 
    c.conectarBase("root","root","3306","localhost");
       
    //Me conecto a la Hoja de Excel:
    try {
        Workbook workbook = Workbook.getWorkbook(new File("./importaciones/nuevosProductos.xls"));
        Sheet sheet = workbook.getSheet("Hoja1"); 
        Cell codigo=null;
        Cell cant=null;
        Cell nombre=null;
        Cell desc=null;
        Cell costo=null;
        Cell pvp=null;
        Cell categ=null;

        int numeroErroresCrea=0;
        int numeroExitosCrea=0;
        int numeroErroresActual=0;
        int numeroExitosActual=0;


        for(int i=1;i<53;i++){
        codigo = sheet.getCell(0,i); 
        cant = sheet.getCell(1,i);
        nombre = sheet.getCell(2,i);
        desc = sheet.getCell(3,i);
        costo = sheet.getCell(4,i);
        pvp = sheet.getCell(5,i);
        categ = sheet.getCell(6,i);
        String fecha=new java.sql.Date(System.currentTimeMillis()).toString();
                

        //Pregunto si existe:
        ResultSet resp=c.consultarBase("select * from producto where cod_producto like '"+codigo.getContents()+"';");
        int filas=c.obtenerFilas(resp);
        

        //Se crea los productos con un valor de cero en la CANTIDAD
        if(filas==0){
        System.out.print(contador+")");    
        boolean ins1=c.insertarDatosR("insert into producto values('"+codigo.getContents()+"',"+categ.getContents()+",'"+nombre.getContents()+"','"+desc.getContents()+"',0,"+pvp.getContents().replaceAll(",",".")+",5,"+costo.getContents().replaceAll(",",".")+",'"+fecha+"',0);");
        boolean ins2=c.insertarDatosR("insert into itm_bodega values(1,'"+codigo.getContents()+"',0,5);");
        
        if( ins1 && ins2 ){
        numeroExitosCrea++;
        
        }else{
        numeroErroresCrea++;
        
        }
        
        contador++;


        }else{
        
        
            
       // boolean act1=c.actualizarBaseResp("update producto set nombre='"+nombre.getContents()+"',descripcion='"+desc.getContents()+"',stock_total=stock_total+0,precio_normal="+pvp.getContents().replaceAll(",",".")+",precio_costo="+costo.getContents().replaceAll(",",".")+" where cod_producto like '"+codigo.getContents()+"';");
       // boolean act2=c.actualizarBaseResp("update itm_bodega set cantidad=cantidad+0 where cod_producto like '"+codigo.getContents()+"' ;");

//        if( act1 && act2 ){
//        numeroExitosActual++;
//
//        }else{
//        numeroErroresActual++;
//
//        }

        contador++;
        //No haga nada
        }
                
        }
         
         JOptionPane.showMessageDialog(this,"Se CREARON exitosamente="+numeroExitosCrea+"  y con error:"+numeroErroresCrea,"Informacion",JOptionPane.INFORMATION_MESSAGE);
         JOptionPane.showMessageDialog(this,"Se ACTUALIZARON exitosamente="+numeroExitosActual+"  y con error:"+numeroErroresActual,"Informacion",JOptionPane.INFORMATION_MESSAGE);


        } catch (IOException ex) {
            Logger.getLogger(TExcelUpCosto.class.getName()).log(Level.SEVERE, null, ex);
        } catch (BiffException ex) {
            Logger.getLogger(TExcelUpCosto.class.getName()).log(Level.SEVERE, null, ex);
        }

        JOptionPane.showMessageDialog(this,"Se han Ingresado="+(contador-1)+" Productos en el Inventario","Informacion",JOptionPane.INFORMATION_MESSAGE);
  }
    

    public static void main(String[] args)
    {
    TExcelUpCosto tae=new TExcelUpCosto();
    }

}
